<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>

</body>
<script type="module">
	// 1- 直接导出
	// import {age,userName,fn} from "./module/mo.js";
	// console.log(age);
	
	// 2- 导出的数据不允许直接修改
	// import {num,setNum} from "./module/mo2.js";
	// setNum(100);
	// console.log(num);
	
	// 3- 通过as起个名字
	// import {age} from "./module/mo2.js";
	// import {age as myAge} from "./module/mo3.js";
	//
	// console.log(age,myAge);
	
	// 4- 导出时可以先定义再导出
	// import {a,b,c,d,age} from "./module/mo4.js";
	// console.log(a,b,c,d,age)
	
	// 5- 命名空间:导出的数据较多时且大部分都要使用
	// import * as suibian from "./module/mo5.js";
	// console.log(suibian.a);
	// console.log(suibian.b);
	
	// 6- 默认导出
	// import mo6 from "./module/mo6.js";
	// console.log(mo6);
	
	// 7
	// import {a,b,c} from "./module/mo7.js";
	//
	// console.log(a,b,c)
	
	// 8 - 混合导出
	// import my,{a,b} from "./module/mo8.js";
	//
	// console.log(my,a,b)
	
	// 9
	// import suibian,{b,c,d} from "./module/mo9.js";
	//
	// console.log(b,c,d,suibian)
	
	// 10- from右侧只能跟字符串
	// let str = "./module/mo10.js"
	// import {userName} from str;
	
	// 11- 在函数中无法使用import xxx from "xxx
	// function fn(){
	// 	import {userName} from "./module/mo10.js";
	// 	console.log(userName);
	// }
	// fn();
	
	// 12- 动态引入
	// let str = "./module/mo10.js"
	// 12-1
	// const result = import(str);
	// console.log(result);
	
	// 12-2
	// import(str).then(value=>{
	// 	console.log(value.userName)
	// 	console.log(value.default)
	// })
	
	// 12-3
	// const {userName,default:my} = await import(str);
	// console.log(userName,my);
	
	// 12-4- 解决函数中的使用问题
	// async function fn(path){
	// 	const {userName,default:my} = await import(path);
	// 	console.log(userName);
	// }
	// fn("./module/mo10.js");
	
</script>
</html>